home *** CD-ROM | disk | FTP | other *** search
/ L' Effet Pommier 2 / L'Effet Pommier - Volume 02.iso / Echecs / GNU Chess 3.0 / Gnu Chess Source / macintf.h < prev    next >
Text File  |  1992-03-10  |  3KB  |  134 lines

  1. #define CUR_VERSION 0x01    /* File Header - Version 1 */
  2. #define SIGNATURE   'GnCh'
  3.  
  4. typedef struct FileHeader {
  5.     char version;
  6.     long signature;
  7.     long reserved[32];
  8. } FileHeader;
  9.  
  10. #define  sqr(x) ((double)(x)*(double)(x))
  11.  
  12. #ifndef BOOK
  13. #define BOOK "gnuchess.book"
  14. #endif
  15. #define pxx " PNBRQK"
  16. #define qxx " PNBRQK"
  17. #define rxx "12345678"
  18. #define cxx "abcdefgh"
  19.  
  20. #define scrntoxy(x) (reverse?9-(x):(x))
  21.  
  22. /* coordinates within a square for the following are ([1,5],[1,3]) */
  23. #define SQW (5)
  24. #define SQH (3)
  25. #define TAB (45)
  26. #define VIR_C(s)  ( reverse ? 7-column(s) : column(s) )
  27. #define VIR_R(s)  ( reverse ? 7-row(s) : row(s) )
  28. #define VSQ_X(x)  ( reverse ? SQW + 1 - (x) : (x) )
  29. #define VSQ_Y(y)  ( reverse ? SQH + 1 - (y) : (y) )
  30. #define Vblack(s) ( ! ((VIR_C(s) + VIR_R(s)) % 2) )
  31. /* Squares swapped */
  32. #define Vcoord(s,x,y) \
  33.     ((SQW)*(VIR_C(s)))+(x),((SQH)*(7-VIR_R(s))+(y))
  34. /* Squares and internal locations swapped */
  35. #define VcoordI(s,x,y) \
  36.     ((SQW)*(VIR_C(s)))+(VSQ_X(x)),((SQH)*(7-VIR_R(s))+(VSQ_Y(y)))
  37. /* Squares and internal rows swapped */
  38. #define VcoordR(s,x,y) \
  39.     ((SQW)*(VIR_C(s)))+(x),((SQH)*(7-VIR_R(s))+(VSQ_Y(y)))
  40.  
  41. extern  char mvstr[5][6];
  42. extern  long evrate;
  43.  
  44. extern short PositionFlag;
  45. extern short coords;
  46. extern short stars;
  47. extern short rv;
  48. extern short shade;
  49. extern short preview;
  50. extern short idoit;
  51. extern short drawn;
  52. extern short undo;
  53. extern short anim;
  54. extern short showvalue;
  55. extern short newgame;
  56. extern short getgame;
  57. extern short wne;
  58.  
  59. extern  char buff[100];
  60.  
  61. #define WhiteMenu 200
  62. #define BlackMenu 201
  63.  
  64. #define    On  TRUE
  65. #define    Off  FALSE
  66. #define    NotSpect  TRUE
  67.  
  68.  
  69. extern Boolean    Finished;
  70. extern CursHandle    ClockCursor;
  71. extern CursHandle    ArrowCursor;
  72. extern CursHandle    CrossCursor;
  73. extern Rect    DragArea;
  74. extern Rect    GrowArea;
  75. extern MenuHandle    Menu;
  76. extern WindowPtr    WindBoard, WindList, WindThink;
  77. extern int    width,height;
  78.  
  79. extern short background;
  80.  
  81. extern Point    thePoint;
  82. extern Rect    MinSize;
  83.     
  84. extern Rect    nameRec, ValueRec, ValueFRec,chessRectOff;
  85.  
  86. extern Rect    MsgRec, MsgFRec;
  87. extern Rect    ThinkRec[2], ThinkFRec[2];
  88. extern Rect     ScoreRec, ScoreFRec;
  89.  
  90. extern int     theScore;
  91. extern Str255    Msg;
  92.  
  93. extern Str255    ThinkMove[2][30];
  94. extern int        maxThink;
  95.  
  96. extern DragHandle    myDragStuff;
  97. extern Point    pt;
  98.  
  99. extern Pattern blackPat, whitePat;
  100.  
  101. extern Rect    CaseRec, CaseFRec;
  102. extern int        MouseX, MouseY;
  103.  
  104. extern int     ref;
  105. extern long    nbre;
  106.  
  107. extern  short saveBoard[64], saveColor[64];
  108.  
  109. extern int towho;
  110.  
  111. extern ListHandle List;
  112.  
  113.  
  114. /* From draw.c */
  115. void OffDrawCase(Rect *r, Pattern color);
  116. Point CenterRect(Rect *r) ;
  117. Rect * Rectangle(int xr, int yr, Rect *r);
  118. int PieceToNum(int color, int type);
  119. void PicInRect(Rect *rec, DragHandle DragStuff, Point *Pt);
  120. void DrawPieces(int Num, int sq);
  121. void DragFromTo(DragHandle Drag, Point PtFrom, Point PtTo);
  122. void AnimePieces(int before,int after ,int d, int a, int anim);
  123.  
  124. /* From update.c */
  125. pascal void UpdateGraphic(WindowPtr theWindow, int ItemNo);
  126. pascal void UpdateChronos(WindowPtr theWindow, int ItemNo);
  127. pascal void UpdateMsg(WindowPtr theWindow, int ItemNo);
  128. pascal void UpdateThink(WindowPtr theWindow, int ItemNo);
  129. pascal void UpdateValue(WindowPtr theWindow, int ItemNo);
  130. pascal void UpdateCase(WindowPtr theWindow, int ItemNo);
  131. pascal void UpdateListe(WindowPtr theWindow, int ItemNo);
  132. void UpdateMenus(void);
  133.  
  134.